「AWS版GitHub?Amazon CodeCatalystの全体像をまとめてみた」というタイトルで登壇しました #yumemi_grow

「AWS版GitHub?Amazon CodeCatalystの全体像をまとめてみた」というタイトルで登壇しました #yumemi_grow

今回、「AWS版GitHub?Amazon CodeCatalystの全体像をまとめてみた」というタイトルで登壇しました。このスライドの内容について、ダイジェスト的に紹介したいと思います。
Clock Icon2024.08.27

はじめに

おのやんです。

この度、AWS Jr. Champions × YUMEMI.grow AWS勉強会というイベントで登壇しました。この発表で使用したスライドを公開しましたので、発表内容のダイジェストを踏まえて簡単に紹介したいと思います。

イベント詳細

今回私は、こちらのAWS Jr. Champions × YUMEMI.grow AWS勉強会というイベントに登壇しました。2024年度に選出されたJr.Championが、株式会社ゆめみさんが開催する勉強会であるゆめみgrowと一緒に企画して、今回開催となりました。

https://yumemi.connpass.com/event/326419/

\ AWS Jr. Champions × YUMEMI.grow AWS勉強会 /

AWSをテーマとしたLT会です❗
Japan AWS Jr. Championsとゆめみgrowがコラボレーションしてお届けするイベントです。幅広いスキルレベルの参加者がAWSの最新技術や活用方法を学ぶ機会を提供します。

スライド詳細

スライド概要

先日、AWS CodePipeline(以下、CodePipeline)とGitHubを連携する機会がありました。私はそこで、CodePipelineとGitHubを接続できるAWS CodeStarというサービスのキャッチアップを行おうとしました。

しかし、このサービスは2024年7月31日以降に新規のプロジェクトの作成ができなくなっていました。

codestar_will_stop

またAWS CodeCommitも新規アクセスが停止されるとXでポストされているため、CodePipelineとGitHubの接続について調べていました。

その過程でAWS CodeCatalyst(以下、CodeCatalyst)を検証しました。その時に.NETのサンプルアプリケーションをデプロイして、CodeCatalystの全体像を整理していました。

codecatalyst_overview

CodeCatalystは、AWSサービスとは独立したサービスであり、AWSアカウントとCodeCatalystのSpaceという管理コンポーネントと紐づけて運用します。各SpaceにはProjectという単位があり、その中で個別のアプリケーションのソースコードやIssue・プルリク、CI/CDを管理しています。

codecatalyst_architecture

アプリケーションのデプロイでは、.NETのサービスをAWS Lambdaの関数にデプロイしています。このデプロイはCI/CDによって管理されていて、プルリクエストの際にテストを自動で実行したり、mainブランチへのマージでデプロイできたりします。

lambda_application

またアプリケーションとは別に、CodeCatalyst側でS3バケットが作成され、ビルドアーティファクトがここに保存されたりします。

saving_build_artifact_to_s3

さらにCodeCatalystならではの機能として、ブループリントがあります。ひとつのプロジェクトをもとにブループリントとしてテンプレート化し、プロジェクトの新規作成時にもろもろの設定を流用できます。

codecatalyst_blueprint

ここまでざっとCodeCatalystを触ってきて、各機能やコンセプトがかなりGitHubに似ているなと感じました。Issueやプルリクエストは、機能も名前もそのまんまですし、CI/CD周りの操作感もGitHub Actionsっぽいなという所感です。

codecatalyst_advantages

CodePipelineのパイプラインは、CodeCommitやCodeBuild、CodeDeployといった個別のAWSサービスを組み合わせてAWSアカウントないで実装するようなものでした。これに比べて、CodeCatalystはあくまでひとつの独立したサービスであり、その中で機能を提供している印象でした。名前こそ頭にCodeとついていますが、全く別のサービスと言っていいと思います。

comparison_with_code_series

一方で、上述のS3バケットなどはREADMEに書いてあったから把握できたものの、裏側で起動するAWSサービスありそうだなと感じました。S3バケットのホスティング代だけでなく、大きいインスタンスタイプによる多額の従量課金が知らず知らずのうちに...みたいなケースも想像できてしまいます。ここは注意したほうがいいですね。

codecatalyst_disadvantages

またCodeCatalystは使えるリージョンに制限があります。現状、現実的なのはオハイオリージョンだ思っているので、オハイオリージョンにコードを保管してもOKな環境なら、これらのユースケースだとCodeCatalystが選択肢に入ってくると思います。

usecases

CodeCatalystのこれからに期待

機能としては十分に面白そうなサービスでした。AWSとは独立した環境で、コードのホスティグやCICDワークフロー設定などいろいろできたりします。一方でリージョンに制限があったり、まだまだ伸び代が感じられるサービスでもあります。

AWSでソースコードを管理できる新たな選択肢として、CodeCatalystを触ってみてはいかがでしょうか?では!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.